package com.seari.custody.mapper;

import afu.org.checkerframework.checker.igj.qual.I;
import afu.org.checkerframework.checker.oigj.qual.O;
import com.seari.custody.bean.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface ReportProjectMapper {

    public int getProjectNumByNo(String no,String type);

    public void updateProjectVersionTypeByNo(String technicalExist,String no,String type);

    public void updateProjectoutlineTypeByNo(String outlineExist,String no,String type) ;

    public void addIssueProject(Project project) ;

    public void addFileInfo(List<File> files);

    public List<Project> selectIssueProjectZXList(String versionType,String userNumber,String noSelect, String projectNameSelect,String reviewStatus,List<Integer> category,List<Integer> consult,String status);

    public List<Project> selectIssueProjectJHDGList(String versionType,String userNumber,String noSelect, String projectNameSelect,String reviewStatus,List<Integer> outlineStatus,String status);

    public List<Project> selectIssueProjectZXBHFAList(String versionType,String userNumber,String noSelect, String projectNameSelect,String reviewStatus,List<Integer> specialProject,String status);

    public List<Project> selectIssueProjectXKList(String versionType,String userNumber,String noSelect, String projectNameSelect,String reviewStatus,List<Integer> permission,String status);

    public Project getProgramInfoByUuid(String uuid) ;

    public List<Project> getProgramHisInfoListByNo(String no);

    public List<File> getFileInfoByProjectUuid(String uuid) ;

    public TechnicalAccessory selectProjectotherattachInfoByUuid(String aessId);

    public void deleteProjectotherattachFileByUuid(String aessId) ;

    public List<Project> projectSelect(Map<String, String> map) ;

    public void updateProjectVersionStatus(Map<String, String> map) ;

    public Map<String, Object> saverFileNumber(String projectUuid);

    public List<Map<String, Object>> saverEngineering(String dzxx,String uuid);

    public List<Map<String, Object>>  savaerSort(String uuid);

    public List<Map<String, Object>> particularsSort(String fileType,String uuid);

    public int updateBatch(Map<String,Object> map);

    public String technicalReviewPdf(String projectUuid);

    public String protectionProgramPdf(String fileUuid);

    public List<TechnicalOutline> monitoringTheOutlineSelect(@Param("projectId") List<String> projectId);

    public List<TechnicalOutline> technicalAuditOpinionSelect(@Param("fileUuid") List<String> fileUuid);

    public List<TechnicalOutline> specialProtectionProgramServer(@Param("fileUuid") List<String> fileUuid);
}
